package cn.iocoder.yudao.module.member.dal.dataobject.siteconfiguration;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

import java.math.BigDecimal;


/**
 * 前端站点配置 DO
 *
 * uk_mobile 索引：基于 {@link #mobile} 字段
 *
 * @author 芋道源码
 */
@TableName(value = "site_configuration", autoResultMap = true)
@KeySequence("site_configuration_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SiteConfigurationDO extends BaseDO {

    // ========== 账号信息 ==========

    /**
     * 用户ID
     */
    @TableId
    private Long id;

    /**
     * 备案号
     */
    private String siteCode;
    /**
     * 备案号
     */
    private String mobile;
    /**
     * 加密后的密码
     *
     * 因为目前使用 {@link BCryptPasswordEncoder} 加密器，所以无需自己处理 salt 盐
     */
    private String token;

    // ========== 基础信息 ==========

    /**
     * 站点名称
     */
    private String nickname;
    /**
     * 平台版本号
     */
    private String version;

    /**
     * 微信机器人
     */
    private String weChatRobot;


    /**
     * 安装域名
     */
    private String domainName;

    // ========== 其它信息 ==========


    /**
     * 是否随机标记 0是 1否
     */
    private Boolean randomFlag;

    /**
     * 前端log
     */
    private String logUrl;

    /**
     * 前端版本说明
     */
    private String versionDescription;

    /**
     * 并发限制数量
     */
    private Integer numberLimit;
    /**
     * 并发限制数量
     */
    private Boolean flagLimit;
    /**
     * 是否自动调用
     */
    @Schema(description = "是否自动调用", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "31457")
    private Boolean automaticFlag;

/*独立池价格配置*/
    /**
     * 独立池价格
     */
    private BigDecimal privatePoolPrice;



    /**
     *独立池 成本 cost
     */
    private BigDecimal privatePoolCost;


    /**
     * 上传证书价格
     */
    private BigDecimal upPrice;

    /**
     * 上传证书成本
     */
    private BigDecimal upCost;
    /**
     * 公告
     */
    private String notice;
    private String mainUrl;

}
